package queue;

import java.util.LinkedList;
import java.util.Queue;

/**
 * @author 张取
 * @version 1.0
 * @date 2022/1/8 上午10:45
 * src.queue
 */

public class TraverseQueue {

    /**
     * 比较队列的遍历方式
     * @param args
     */
    public static void main(String[] args){
        Queue<Integer> queue = new LinkedList<>();
        int len = 5;
        for (int i = 0; i < len; i++) {
            queue.offer(i+1);
        }
        System.out.println("队列长度:" + queue.size());

        //集合方式遍历，不会删除元素
        System.out.println("采用集合方式遍历队列");
        for(Integer ele : queue){
            System.out.println(ele);
        }
        System.out.println("队列长度:" + queue.size());

        //队列方式遍历，会删除元素
        System.out.println("采用队列方式遍历队列");
        //队头元素非空，则可继续遍历
        while(queue.peek() != null){
            //删除元素，删除成功则同时返回该元素值，删除失败返回null
            System.out.println(queue.poll());
        }
        System.out.println("队列长度:" + queue.size());
    }
}
